QPW (Quick Pass Write) is proposed to reduce a threshold distribution width of memory cells after data write in a nonvolatile memory such as a NAND flash memory. The QPW is a technique that enables to write data under write conditions according to threshold voltages of memory cells in each of write loops in one data write sequence. In the conventional QPW, data of memory cells need to be read plural times while changing word line voltages at the time of verify read in each write loop. Accordingly, set-up time for charging word lines with a predetermined voltage has been required in each of plural read operations.
To reduce the set-up time for word lines, a method of detecting data both of during discharge of sense nodes and after the discharge is proposed. Discharge rates of a sense node vary according to threshold voltages of a corresponding memory cell. Therefore, if data is detected both of during discharge of each sense node and after the discharge, the threshold voltage of a corresponding memory cell can be detected at plural levels without changing a word line voltage.
However, the voltage of each sense node continuously changes during discharge of the sense node and thus a conduction state of a corresponding sense transistor may switch while a corresponding latch circuit is capturing data. In such a case, a corresponding sense amplifier cannot correctly detect data during verify read. When a data capture period by the latch circuit (a conduction period of the sense transistor) is reduced, there is a possibility that data is not correctly transferred to the latch circuit.